import Cookies from 'js-cookie'

// Cookie配置 - 7天过期
const COOKIE_OPTIONS = { expires: 7 }

// Cookie键名
const COOKIE_KEYS = {
  DB_CONFIG: 'sql_parser_db_config',
  PLATFORM_CONFIG: 'sql_parser_platform_config',
  SYSTEM_CONFIG: 'sql_parser_system_config'
}

// 数据库配置管理
export const dbConfigCookie = {
  // 获取数据库配置
  get() {
    const config = Cookies.get(COOKIE_KEYS.DB_CONFIG)
    if (config) {
      try {
        return JSON.parse(config)
      } catch (e) {
        console.error('解析数据库配置失败:', e)
        return null
      }
    }
    return null
  },
  
  // 保存数据库配置（现在包含密码）
  set(config) {
    // 现在在cookie中也存储密码，因为是内部使用
    Cookies.set(COOKIE_KEYS.DB_CONFIG, JSON.stringify(config), COOKIE_OPTIONS)
  },
  
  // 删除数据库配置
  remove() {
    Cookies.remove(COOKIE_KEYS.DB_CONFIG)
  }
}

// 氧屋平台配置管理
export const platformConfigCookie = {
  // 获取平台配置
  get() {
    const config = Cookies.get(COOKIE_KEYS.PLATFORM_CONFIG)
    if (config) {
      try {
        return JSON.parse(config)
      } catch (e) {
        console.error('解析平台配置失败:', e)
        return null
      }
    }
    return null
  },
  
  // 保存平台配置
  set(config) {
    Cookies.set(COOKIE_KEYS.PLATFORM_CONFIG, JSON.stringify(config), COOKIE_OPTIONS)
  },
  
  // 删除平台配置
  remove() {
    Cookies.remove(COOKIE_KEYS.PLATFORM_CONFIG)
  }
}

// 系统配置管理
export const systemConfigCookie = {
  // 获取系统配置
  get() {
    const config = Cookies.get(COOKIE_KEYS.SYSTEM_CONFIG)
    if (config) {
      try {
        return JSON.parse(config)
      } catch (e) {
        console.error('解析系统配置失败:', e)
        return null
      }
    }
    return null
  },
  
  // 保存系统配置
  set(config) {
    Cookies.set(COOKIE_KEYS.SYSTEM_CONFIG, JSON.stringify(config), COOKIE_OPTIONS)
  },
  
  // 删除系统配置
  remove() {
    Cookies.remove(COOKIE_KEYS.SYSTEM_CONFIG)
  }
}

// 清除所有配置
export function clearAllConfigs() {
  dbConfigCookie.remove()
  platformConfigCookie.remove()
  systemConfigCookie.remove()
}